package com.ruoyi.generator.entity;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import java.util.Date;
import java.util.List;

@Data
public class Customer extends BaseEntity {

    private Long id;  // 主键ID

    private String customerCode;  // 客户编号

    @Excel(name = "客户名称")
    private String customerName;  // 客户名称

    @Excel(name = "省市区")
    private String provinceCityDistrict;  // 省市区

    private String province;  // 省

    private String city;  // 市

    private String district;  // 区

    @Excel(name = "详细地址")
    private String address;  // 详细地址

    @Excel(name = "公司类型")  // 使用字典类型
    private String companyType;  // 公司类型 (state:国企 private:私企 foreign:外企 joint:合资)

    @Excel(name = "公司规模")  // 使用字典类型
    private String companySize;  // 公司规模 (xs:0-50人 sm:51-100人 md:101-500人 lg:501-1000人 xl:1000人以上)

    @Excel(name = "联系人")
    private String contact;  // 联系人姓名

    @Excel(name = "生日",dateFormat = "yyyy-MM-dd")
    private String birthday;  // 联系人生日

    @Excel(name = "客户联系电话")
    private String phone;  // 联系电话

    @Excel(name = "所属行业")
    private String industry;  // 所属行业

    @Excel(name = "客户经理")
    private String manager;  // 客户经理

    @Excel(name = "最新跟进记录")
    private String lastFollow;  // 最新跟进记录

    @Excel(name = "最后沟通时间")
    private Date lastCommunication;  // 最后沟通时间

    @Excel(name = "客户状态")  // 使用字典类型
    private String status;  // 客户状态

    @Excel(name = "创建人")
    private String createBy;  // 创建人

    @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;  // 创建时间

    @Excel(name = "更新人")
    private String updateBy;  // 更新人

    private Date updateTime;  // 更新时间

    private String delFlag;  // 删除标志 (0代表存在 2代表删除)

    @Excel(name = "备注")
    private String remark;  // 备注

    @Excel(name = "客户星级")
    private String starLevel;  // 星级评价

    private String invoiceCode;  // 开票编号

    // 开票信息
    private String invoiceType;  // 发票类型
    private String invoiceName;  // 纳税人名称
    private String taxNumber;  // 纳税人识别号
    private String invoiceAddress;  // 开票地址
    private String invoicePhone;  // 开票电话
    private String bankName;  // 开户行名称
    private String bankAccount;  // 银行账号
    private String invoiceRemark;

    private List<Contacts> contacts;  // 客户

    private List<String> deleteContactIds;

    private String type;




}